Caml Synthetic Data API Usage

from caml.extensions.synthetic_data import CamlSyntheticDataGenerator

Generate Data

data =  CamlSyntheticDataGenerator(n_obs=10_000,
                                  n_cont_outcomes=1,
                                  n_binary_outcomes=1,
                                  n_cont_treatments=1,
                                  n_binary_treatments=1,
                                  n_discrete_treatments=1,
                                  n_cont_confounders=1,
                                  n_binary_confounders=1,
                                  n_discrete_confounders=1,
                                  n_cont_modifiers=1,
                                  n_binary_modifiers=1,
                                  n_discrete_modifiers=1,
                                  n_confounding_modifiers=1,
                                  stddev_outcome_noise=3,
                                  stddev_treatment_noise=3,
                                  causal_model_functional_form="linear",
                                  n_nonlinear_transformations=10,
                                  n_nonlinear_interactions=5,
                                  seed=15)

Simulated Dataframe

data.df
W1_continuous W2_binary W3_discrete X1_continuous X2_binary X3_discrete T1_continuous T2_binary T3_discrete Y1_continuous Y2_binary
0 0.706567 1 0 -1.652559 1 1 2.494731 1 1 -25.198250 1
1 3.315282 1 2 -2.775285 1 0 7.464238 0 0 -70.792577 1
2 1.908430 1 3 -3.451824 0 1 3.470709 0 1 -43.344150 1
3 3.743169 1 0 -4.319313 1 0 8.065827 0 4 -131.063425 1
4 2.781994 1 3 -2.901003 1 0 8.161921 0 4 -107.833216 1
... ... ... ... ... ... ... ... ... ... ... ...
9995 1.853102 0 2 -2.369628 0 1 4.856855 0 0 -30.105565 1
9996 1.710607 1 2 -2.642743 1 1 4.286633 0 0 -45.993240 1
9997 4.942256 0 0 -2.908543 0 0 12.208850 0 4 -103.391312 1
9998 3.125018 1 1 -3.039957 0 3 15.905126 0 4 -165.097366 0
9999 2.500979 0 0 -3.320707 0 3 10.460442 0 4 -127.790919 1

10000 rows × 11 columns

DGP

for k,v in data.dgp.items():
    print(k)
    print(v)
T1_continuous
      covariates    params global_transformation
0  W1_continuous  2.601096                  None
1      W2_binary -1.214932                  None
2    W3_discrete -0.128753                  None
3    X3_discrete  1.605966                  None
T2_binary
      covariates    params global_transformation
0  W1_continuous -1.633325               Sigmoid
1      W2_binary  0.331532               Sigmoid
2    W3_discrete -2.018670               Sigmoid
3    X3_discrete  0.281986               Sigmoid
T3_discrete
      covariates  cat_1_params  cat_2_params global_transformation
0  W1_continuous      1.251009     -2.752482               Softmax
1      W2_binary     -0.364808      2.056047               Softmax
2    W3_discrete     -0.068131      1.673660               Softmax
3    X3_discrete      1.310578      2.357792               Softmax
Y1_continuous
                         covariates    params global_transformation
0                     W1_continuous -1.553833                  None
1                         W2_binary -2.998091                  None
2                       W3_discrete -2.915301                  None
3                     X1_continuous -1.813285                  None
4                         X2_binary  0.739353                  None
5                       X3_discrete  0.082275                  None
6                     T1_continuous -1.643250                  None
7                         T2_binary -0.409790                  None
8                       T3_discrete -2.571727                  None
9   int_T1_continuous_X1_continuous  1.374265                  None
10      int_T1_continuous_X2_binary -2.330711                  None
11    int_T1_continuous_X3_discrete -0.588478                  None
12      int_T2_binary_X1_continuous -1.927494                  None
13          int_T2_binary_X2_binary -0.416015                  None
14        int_T2_binary_X3_discrete -1.346297                  None
15    int_T3_discrete_X1_continuous  1.974255                  None
16        int_T3_discrete_X2_binary -0.304700                  None
17      int_T3_discrete_X3_discrete -0.754942                  None
Y2_binary
                         covariates    params global_transformation
0                     W1_continuous -0.906427               Sigmoid
1                         W2_binary -2.316021               Sigmoid
2                       W3_discrete  0.545442               Sigmoid
3                     X1_continuous -0.204994               Sigmoid
4                         X2_binary  0.417902               Sigmoid
5                       X3_discrete  2.195866               Sigmoid
6                     T1_continuous  2.169852               Sigmoid
7                         T2_binary -2.210767               Sigmoid
8                       T3_discrete -2.387556               Sigmoid
9   int_T1_continuous_X1_continuous -0.145369               Sigmoid
10      int_T1_continuous_X2_binary -1.010015               Sigmoid
11    int_T1_continuous_X3_discrete -1.460272               Sigmoid
12      int_T2_binary_X1_continuous  1.614527               Sigmoid
13          int_T2_binary_X2_binary  2.939611               Sigmoid
14        int_T2_binary_X3_discrete -0.418421               Sigmoid
15    int_T3_discrete_X1_continuous -2.972694               Sigmoid
16        int_T3_discrete_X2_binary  2.586574               Sigmoid
17      int_T3_discrete_X3_discrete -1.248249               Sigmoid

True Conditional Average Treatment Effects (CATEs)

data.cates
CATE_of_T1_continuous_on_Y1_continuous CATE_of_T2_binary_on_Y1_continuous CATE_of_T3_discrete_on_Y1_continuous_level_1_v_0 CATE_of_T3_discrete_on_Y1_continuous_level_4_v_0 CATE_of_T3_discrete_on_Y1_continuous_level_3_v_0 CATE_of_T3_discrete_on_Y1_continuous_level_2_v_0 CATE_of_T1_continuous_on_Y2_binary CATE_of_T2_binary_on_Y2_binary CATE_of_T3_discrete_on_Y2_binary_level_1_v_0 CATE_of_T3_discrete_on_Y2_binary_level_4_v_0 CATE_of_T3_discrete_on_Y2_binary_level_3_v_0 CATE_of_T3_discrete_on_Y2_binary_level_2_v_0
0 -6.833492 1.013194 -6.893941 -27.575765 -20.681824 -13.787882 0.000000 0.000000 0.166471 0.166471 0.166471 0.166471
1 -7.787938 4.523539 -8.355547 -33.422188 -25.066641 -16.711094 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
2 -6.975448 4.897281 -10.141449 -40.565795 -30.424346 -20.282897 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
3 -9.909840 7.499642 -11.403851 -45.615403 -34.211552 -22.807702 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
4 -7.960707 4.765859 -8.603745 -34.414982 -25.811236 -17.207491 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
... ... ... ... ... ... ... ... ... ... ... ... ...
9995 -5.488225 2.811356 -8.004919 -32.019678 -24.014758 -16.009839 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
9996 -8.194268 2.921768 -8.848818 -35.395272 -26.546454 -17.697636 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
9997 -5.640359 5.196408 -8.313932 -33.255728 -24.941796 -16.627864 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
9998 -7.586390 1.410815 -10.838203 -43.352811 -32.514608 -21.676405 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
9999 -7.972215 1.951960 -11.392476 -45.569903 -34.177427 -22.784951 -0.347813 -0.800617 0.000000 0.800617 0.069235 0.000000

10000 rows × 12 columns

True Average Treatment Effects (ATEs)

data.ates
Treatment ATE
0 T1_continuous_on_Y1_continuous -7.420280
1 T2_binary_on_Y1_continuous 3.120486
2 T3_discrete_on_Y1_continuous_level_1_v_0 -9.381688
3 T3_discrete_on_Y1_continuous_level_4_v_0 -37.526754
4 T3_discrete_on_Y1_continuous_level_3_v_0 -28.145065
5 T3_discrete_on_Y1_continuous_level_2_v_0 -18.763377
6 T1_continuous_on_Y2_binary -0.000474
7 T2_binary_on_Y2_binary -0.109855
8 T3_discrete_on_Y2_binary_level_1_v_0 0.139524
9 T3_discrete_on_Y2_binary_level_4_v_0 0.247014
10 T3_discrete_on_Y2_binary_level_3_v_0 0.219988
11 T3_discrete_on_Y2_binary_level_2_v_0 0.186775
Back to top